home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / ada / gwuada_9.zip / VARS.H < prev    next >
C/C++ Source or Header  |  1992-10-05  |  6KB  |  218 lines

  1. #define INIT(v) 
  2. #ifndef _vars_h
  3. #define _vars_h
  4.  
  5.  
  6.  
  7.  
  8. extern   double    ADA_MIN_REAL INIT((-79228162514264337593543950336.0));/* - 2.0**96 */
  9. extern   double    ADA_MAX_REAL INIT(79228162514264337593543950336.0);/* 2.0**96 */
  10. extern   int    ADA_REAL_DIGITS INIT(6);
  11. extern   int    cdebug2;
  12.  
  13. extern   Declaredmap declared_all[4];    /* array of standard declareds */
  14. extern   int    full_others;  /* a boolean */
  15. extern   int    fold_context; /* a boolean */
  16. extern   Node current_node;
  17. extern   Node OPT_NODE;    /*initialized in sem0 */
  18.  
  19.  
  20. extern   Declaredmap base_declared[4];
  21. extern   Symbol base_declared_symbols[4];
  22. extern   Tuple scope_st;            /* stack of lexical scopes */
  23. extern   Tuple has_return_stk;        /* stack to track return statements */
  24. extern   Tuple newtypes;            /* list of type declaration code to be */
  25. extern   Tuple lab_seen;            /* set of labels in procedure . */
  26. extern   Tuple current_instances;    /* stack for recursive instantiation check */
  27.  
  28. extern   Symbol scope_name;        /* unique name for each scope */
  29. extern   char *unit_name;        /* compilation unit information */
  30. extern   Tuple all_vis;            /* Modules whose visibility is required */
  31.  
  32. extern   Tuple open_scopes;        /* nest of currently open scopes, from inner */
  33. extern   Tuple used_mods;        /* packages appearing in a use clause */
  34. extern   Tuple vis_mods;    /* list of package names visible in this unit*/
  35.  
  36. extern   int    noop_error;
  37.  
  38. extern   Set non_local_names;        /* To collect non_local references in each subp. */
  39.  
  40. extern   int    out_context;        /* Signals valid appearance of out parameter.  */
  41.  
  42. extern   Symbol
  43. symbol_and,
  44. symbol_andthen,
  45. symbol_any,
  46. symbol_any_id,
  47. symbol_array_type,
  48. symbol_ascii,
  49. symbol_assign,
  50. symbol_boolean,
  51. symbol_boolean_type,
  52. symbol_callable,
  53. symbol_character,
  54. symbol_character_type,
  55. symbol_constrained,
  56. symbol_constraint_error,
  57. symbol_daccess,
  58. symbol_dfixed,
  59. symbol_discrete_type,
  60. symbol_divfx,
  61. symbol_duration,
  62. symbol_eq,
  63. symbol_exception,
  64. symbol_float,
  65. symbol_ge,
  66. symbol_gt,
  67. symbol_in,
  68. symbol_incomplete,        /* incomplete, for incp_types */
  69. symbol_integer,
  70. symbol_le,
  71. symbol_left,
  72. symbol_limited,            /* limited for priv_types, incp_types */
  73. symbol_limited_private,        /* cf. symbol_limited */
  74. symbol_long_float,
  75. symbol_long_integer,
  76. symbol_lt,
  77. symbol_main_task_type,
  78. symbol_mulfx,
  79. symbol_natural,
  80. symbol_none,
  81. symbol_not,
  82. symbol_ne,
  83. symbol_notin,
  84. symbol_null,
  85. symbol_numeric,
  86. symbol_numeric_error,
  87. symbol_or,
  88. symbol_order_type,
  89. symbol_orelse,
  90. symbol_overloaded,
  91. symbol_positive,
  92. symbol_private,            /* for priv_types, incp_types */
  93. symbol_program_error,
  94. symbol_right,
  95. symbol_short_integer,
  96. symbol_short_integer_base,
  97. symbol_standard,
  98. symbol_standard0,
  99. symbol_storage_error,
  100. symbol_system_error,
  101. symbol_string,
  102. symbol_string_type,
  103. symbol_system,
  104. symbol_tasking_error,
  105. symbol_undef,
  106. symbol_universal_dfixed,
  107. symbol_universal_fixed,
  108. symbol_universal_integer,
  109. symbol_universal_integer_1,
  110. symbol_universal_real,
  111. symbol_unmentionable,
  112. symbol_xor;
  113.  
  114. extern   Symbol 
  115. symbol_universal_type,
  116. symbol_integer_type,
  117. symbol_real_type,
  118. symbol_composite_type,
  119. symbol_equal_type;
  120.  
  121.  
  122. extern   Symbol
  123. symbol_addu,  /* +u */
  124. symbol_subu,  /* -u */
  125. symbol_abs,  /* abs */
  126. symbol_add,  /* + */
  127. symbol_sub,  /* - */
  128. symbol_mul,  /* * */
  129. symbol_div,  /* / */
  130. symbol_mod,  /* mod */
  131. symbol_rem,  /* rem */
  132. symbol_exp,  /* ** */
  133. symbol_cat,  /* & */
  134. symbol_cat_cc, /* &cc */
  135. symbol_cat_ac, /* &ac */
  136. symbol_cat_ca, /* &ca */
  137. symbol_modi,  /* modi */
  138. symbol_remi,  /* remi */
  139. symbol_addui,  /* +ui */
  140. symbol_subui,  /* -ui */
  141. symbol_absi,  /* absi */
  142. symbol_addi,  /* +i */
  143. symbol_subi,  /* -i */
  144. symbol_muli,  /* *i */
  145. symbol_divi,  /* /i */
  146. symbol_addufl,    /* +ufl */
  147. symbol_subufl,    /* -ufl */
  148. symbol_absfl,  /* absfl */
  149. symbol_addfl,  /* +fl */
  150. symbol_subfl,  /* -fl */
  151. symbol_mulfl,  /* *fl */
  152. symbol_divfl,  /* /fl */
  153. symbol_addufx,    /* +ufx */
  154. symbol_subufx,    /* -ufx */
  155. symbol_absfx,  /* absfx */
  156. symbol_addfx,  /* +fx */
  157. symbol_subfx,  /* -fx */
  158. symbol_mulfxi,    /* *fxi */
  159. symbol_mulifx,    /* *ifx */
  160. symbol_divfxi,    /* /fxi */
  161. symbol_mulfli,    /* *fli */
  162. symbol_mulifl,    /* *ifl */
  163. symbol_divfli,    /* /fli */
  164. symbol_expi,  /* **i */
  165. symbol_expfl;  /* **fl */
  166.  
  167. extern   Tuple unary_sig;
  168. extern   Tuple binary_sig; /* TBSL: to be initialized in sem0*/
  169.  
  170. extern   int num_predef_units; /* number of units in predef.ada */
  171.  
  172. extern   int errors INIT(FALSE); /* flag if errors are present*/
  173.  
  174. extern   int adaval_overflow; 
  175. extern   char *FILENAME;
  176. extern   FILE *MSGFILE INIT(stdout);
  177. extern   Tuple init_nodes;
  178. extern   Tuple init_symbols; /* tuple of symbols created by sem initialization*/
  179. extern   Tuple unit_nodes;
  180. #ifdef TBSL
  181. extern   int unit_nodes_n INIT(0);
  182. #endif
  183. extern   char *PREDEFNAME; /* name of predef file */
  184. extern   char *AISFILENAME;
  185. extern   int lib_option INIT(FALSE);
  186. extern   int new_library INIT(FALSE); /* set if creating library */
  187. extern   struct unit *pUnits[MAX_UNITS+1];
  188. extern   Tuple lib_stub;
  189. extern   Tuple stub_info;
  190.  
  191. extern   int seq_node_n INIT(0); /* number of nodes allocated */
  192. extern   Tuple seq_node; /* tuple of allocated nodes*/
  193. extern   int seq_symbol_n INIT(0);/* number of symbols allocated*/
  194. extern   Tuple seq_symbol;    /* tuple of allocated symbols */
  195.  
  196. extern   int unit_number_now INIT(0);
  197. extern   int unit_numbers INIT(0);
  198. extern   int empty_unit_slots INIT(0);
  199.  
  200. extern   int trapns INIT(0),trapnu INIT(0),trapss INIT(0),trapsu INIT(0);
  201.  
  202. extern   Tuple aisunits_read;
  203.  
  204. extern   Nodemap node_map;
  205. extern   Symbol OPT_NAME; /* This is to symbols what OPT_NODE is to nodes*/
  206.  
  207. extern   int    compiling_predef INIT(0); /* set if we are compiling predef */
  208.  
  209. extern   char *string_any_id  INIT("any_id"); 
  210. extern   char *string_ok  INIT("ok");
  211. extern   char *string_ds  INIT("$D$");
  212. extern   int power_of_2_accuracy; 
  213. extern   int power_of_2_power;
  214. extern   Rational power_of_2_small;
  215. extern   Set stubs_to_write;
  216. extern   Tuple NOT_CHOSEN;
  217. #endif
  218.